
Security News
NVD Concedes Inability to Keep Pace with Surging CVE Disclosures in 2025
Security experts warn that recent classification changes obscure the true scope of the NVD backlog as CVE volume hits all-time highs.
@bpmn-io/form-js-editor
Advanced tools
An editor to create forms that can be displayed with the form-js viewer.
npm install @bpmn-io/form-js-editor
import { FormEditor } from '@bpmn-io/form-js-editor';
const schema = {
type: 'default',
components: [
{
key: 'creditor',
label: 'Creditor',
type: 'textfield',
validate: {
required: true,
},
},
],
};
const formEditor = new FormEditor({
container: document.querySelector('#form-editor'),
});
await formEditor.importSchema(schema);
Check out a full example.
For proper styling include the necessary stylesheets, and font used:
<link
href="https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:ital,wght@0,400;0,600;1,400&display=swap"
rel="stylesheet" />
<link rel="stylesheet" href="https://unpkg.com/@bpmn-io/form-js@0.10.0/dist/assets/form-js.css" />
<link rel="stylesheet" href="https://unpkg.com/@bpmn-io/form-js@0.10.0/dist/assets/form-js-editor.css" />
FormEditor
Create a new form editor with options { container?: HTMLElement }
.
import { FormEditor } from '@bpmn-io/form-js-editor';
const formEditor = new FormEditor({
container: document.querySelector('#form-editor'),
});
FormEditor#importSchema(schema: Schema) => Promise<Result, Error>
Display and edit a form represented via a form schema.
try {
await formEditor.importSchema(schema);
} catch (err) {
console.log('importing form failed', err);
}
FormEditor#saveSchema() => Schema
Export the form schema.
const schema = formEditor.saveSchema(schema);
console.log('exported schema', schema);
FormEditor#attachTo(parentNode: HTMLElement) => void
Attach the form editor to a parent node.
FormEditor#detach() => void
Detach the form editor from its parent node.
FormEditor#on(event, fn) => void
Subscribe to an event.
FormEditor#destroy() => void
Remove form from editor the document.
selection.changed :: { selection }
propertiesPanel.focusin
propertiesPanel.focusout
propertiesPanel.showEntry :: { id }
propertiesPanel.updated :: { formField }
detach
attach
rendered
form.init
form.clear
form.destroy
diagram.clear
diagram.destroy
dragula.created
dragula.destroyed
editorActions.init :: { editorActions }
drag.start :: { element, source }
drag.end :: { element }
drag.drop :: { element, target, source, sibling }
drag.hover :: { element, container, source }
drag.out :: { element, container, source }
drag.cancel :: { element, container, source }
formField.add :: { formField }
formField.remove :: { formField }
formField.updateId :: { formField, newId }
Use under the terms of the bpmn.io license.
FAQs
Edit forms - powered by bpmn.io
The npm package @bpmn-io/form-js-editor receives a total of 4,651 weekly downloads. As such, @bpmn-io/form-js-editor popularity was classified as popular.
We found that @bpmn-io/form-js-editor demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Security experts warn that recent classification changes obscure the true scope of the NVD backlog as CVE volume hits all-time highs.
Security Fundamentals
Attackers use obfuscation to hide malware in open source packages. Learn how to spot these techniques across npm, PyPI, Maven, and more.
Security News
Join Socket for exclusive networking events, rooftop gatherings, and one-on-one meetings during BSidesSF and RSA 2025 in San Francisco.